﻿layui.use(['table', 'form', 'jquery'], function () {
    var table = layui.table;
    var form = layui.form;
    var $ = layui.$;
    $('#addRowBtn').on('click', function () {
        // 获取数据表格和行数
        const table = document.getElementById('dataTable');
        const numRows = table.rows.length;

        // 如果行数超过1，则禁止添加新行
        if (numRows > 1) {
            layer.msg('已达到最大行数限制，不能再添加新行！');
            return;
        }
        var rowCount = $('#dataTable tbody tr').length + 1; // 获取当前行数并加1作为新行的序号
        var newRowHtml = '<tr>' +
            '<td>' + rowCount + '</td>' + // 新增自增序号列

            `<td>
                <div class="select-wrapper">
                <select  name="earNumber" id="earNumber" lay-filter="earNumber" lay-verify="required">
                    <option value="">耳号</option>
                </select>
                </div>
            </td>` +

            `<td>
            <div class="select-wrapper">
                <select  name="buildings" id="buildings" lay-filter="build" lay-verify="required">
                    <option value="">栋舍</option>
                </select>
                </div>
            </td>` +

            `<td>
            <div class="select-wrapper">
                <select name="columns" id="columns" lay-filter="column" lay-verify="required">
                    <option value="">栏位</option>
                </select>
                </div>
          </td>` +

            '<td><input type="text" name="sheepNumber" lay-verify="required" placeholder="请输入" autocomplete="off" class="layui-input"></td>' +
            '<td><input type="text" name="weight" lay-verify="required" placeholder="请输入" autocomplete="off" class="layui-input"></td>' +
            '<td style="display:none"><input type="hidden" name="species" value="1"></td>' +
            '<td><button class="layui-btn layui-btn-xs layui-btn-danger" onclick="saveRow(this)">保存</button><button class="layui-btn layui-btn-xs layui-btn-danger" onclick="deleteRow(this)">删除</button></td>' +
            '</tr>';

        $('#dataTable tbody').append(newRowHtml);
        form.render(); // 重新渲染表单，使新增的输入框生效

        //绑定耳号
        $(document).ready(function () {
            $.ajax({
                url: 'http://10.31.60.18:8000/EarTagGetRout/api/EarTagRead/EarNumberShow',
                type: 'get',
                dataType: 'json',
                success: function (res) {
                    var enumData = res.data; // 直接使用返回的数据
                    var select = $('#earNumber');
                    $.each(enumData, function (index, item) {
                        // 使用正确的字段添加选项到下拉框中
                        var option = $('<option>').val(item.earNumber).text(item.earNumber);
                        select.append(option);
                    });
                    // 手动触发 layui 组件的渲染
                    layui.form.render('select');
                },
                error: function () {
                    // 处理 AJAX 请求失败的情况
                    console.error('Failed to fetch data for dropdown.');
                }
            });
        });
        //绑定栋舍
        var data = [];
        $(document).ready(function () {
            $.ajax({
                url: 'http://10.31.60.18:8000/AuthorizationGetRout/api/Cottage/CootList',
                type: 'get',
                dataType: 'json',
                success: function (res) {
                    data = res; // 直接使用返回的数据
                    var select = $('#buildings');
                    $.each(data, function (index, item) {
                        // 使用正确的字段添加选项到下拉框中
                        var option = $('<option>').val(item.name).text(item.name);
                        select.append(option);
                    });
                    // 手动触发 layui 组件的渲染
                    layui.form.render('select');
                },
                error: function () {
                    // 处理 AJAX 请求失败的情况
                    console.error('Failed to fetch data for dropdown.');
                }
            });
        });

        // 栋舍栏位二级联动
        $('#buildings').change(function () {
            var name = $("#buildings").val();
            var id = 0;
            $.each(data, function (index, item) {
                if (name == item.name) {
                    id = item.id;
                }
            });
            //监听到了下拉框选择的选项，传递过来
            $.get({
                url: 'http://10.31.60.18:8000/AuthorizationGetRout/api/Cottage/FieidList', // 后端枚举数据接口地址
                data: {
                    id: id
                },
                dataType: "json",
                success: function (res) {
                    $("#columns").empty();
                    var option = '<option value=" ">' + "请选择栏位" + '</option>';
                    $("#columns").append(option);
                    $.each(res, function (index, item) {
                        // 使用正确的字段添加选项到下拉框中
                        var option = $('<option>').val(item.name).text(item.name);
                        $('#columns ').append(option);
                    });
                    // 手动触发 layui 组件的渲染
                    layui.form.render('select');
                },
                error: function () {
                    // 处理 AJAX 请求失败的情况
                    console.error('Failed to fetch data for dropdown.');
                }
            });
        });
    });

    $('#saveDataBtn').on('click', function () {
        // 执行保存所有数据的操作，您可以根据需要补充逻辑
        console.log('保存数据');
    });
});

var $ = layui.$;

function saveRow(btn) {
    var formData = {};  // 用于保存所有表单控件的键值对

    $(btn).closest('tr').find('input[type="text"], input[type="hidden"], select').each(function () {
        var controlName = $(this).attr('name');  // 获取当前控件的名称
        var controlValue = $(this).val();  // 获取当前控件的值

        formData[controlName] = controlValue;  // 将控件的名称和值存入formData对象
    });


    $.ajax({
        type: 'post',
        url: 'http://10.31.60.18:8000//BeginningSetRout/api/Beginning/BeginninCreate',
        // url: 'http://localhost:5172/api/Beginning/BeginninCreate',
        data: JSON.stringify(formData), // 将表单数据转为JSON格式
        contentType: 'application/json',
        success: function (response) {
            if (response.code == 200) {
                BindNumber(formData.earNumber);
                layer.msg(response.msg, { icon: 1 });
                setTimeout(function () {

                    location.href = '/Beginning/TuppingRamShow';
                }, 1000)
            } else {
                layer.msg(response.msg, { icon: 2 });
            }
        },
        error: function (xhr, status, error) {
            console.error(error);
        }
    });
}


function BindNumber(data) {
    $.get({
        url: 'http://10.31.60.18:8000/EarTagGetRout/api/EarTagRead/BackfillNumber', // 后端枚举数据接口地址
        data: {
            EarNumber: data
        },
        dataType: "json",
        success: function (res) {

            data = res.data;
            console.log(data);
            var value = {
                earNumber: data.earNumber,
                earTagId: data.earTagId,
                storageDate: data.storageDate,
                sheepBreed: data.sheepBreed,
                birthStatus: data.birthStatus,
                insertType: data.insertType,
                earNumbers: data.earNumber,
                sheepBreedAdds: data.sheepBreedAdds,
                usageStatu: 1,
            }
        
            UpdateStause(value);
        },
        error: function () {
            // 处理 AJAX 请求失败的情况
            console.error('Failed to fetch data for dropdown.');
        }
    });
}

function UpdateStause(formData) {
    console.log(formData);
    $.ajax({
        type: 'put',
        url: 'http://10.31.60.18:8000/EarTagSetRout/api/EarTag/EarTagUpdate',
        data: JSON.stringify(formData), // 将表单数据转为JSON格式
        contentType: 'application/json',
        success: function (response) {
            console.log(response);
        },
        error: function (xhr, status, error) {
            console.error(error);
        }
    });
}

// 删除行的函数
function deleteRow(btn) {
    $(btn).closest('tr').remove();
}